//==========================================================================
// Copyright (c) 2000-2008,  Elastos, Inc.  All Rights Reserved.
//==========================================================================

#include <mantle.h>
#include <idmanage.h>
#include <svrobj.h>
#include <kmarshal.h>
#include <init.h>

#if (_TEST_TYPE == 4)  /* Test for CAR performance */
EXTERN_C void InitCarTst();
#endif // _TEST_TYPE == 4

#if (_TEST_TYPE == 7) /* Test for Marshaling */
EXTERN_C void InitKMarshalTst();
#endif // _TEST_TYPE == 7

EXTERN DECL_CODEINIT bool_t CDECL InitCrust()
{
    bool_t bRet;

    InitNameHookHash();
    InitObjectHash();
    bRet = RegisterKernelInterface();

#if (_TEST_TYPE == 4)  /* Test for CAR performance */
    InitCarTst();
#endif // _TEST_TYPE == 4

#if (_TEST_TYPE == 7) /* Test for Marshaling */
    InitKMarshalTst();
#endif // _TEST_TYPE == 7

    return bRet;
}
